package com.github.data_manage.domain.vo

import jakarta.persistence.Column
import java.math.BigDecimal
import java.time.LocalDate

/**
 *
 * @author chenhainan
 * @since 2025/8/13
 */
data class FundDepthResearchContrastVo<T>(
    val contrastId: Int,
//    val contrastName: String,
    val values: List<T>
)

data class FundDepthResearchContrastValueVo(
    val threeMOutUnderPerf: BigDecimal? = null,

    val sixMOutUnderPerf: BigDecimal? = null,

    val twelveMOutUnderPerf: BigDecimal? = null,

    val thirtySixMOutUnderPerf: BigDecimal? = null,

    val twelveMRollBeta: BigDecimal? = null,

    val twelveMRollCorrel: BigDecimal? = null,

    val thirtySixMRollBeta: BigDecimal? = null,

    val thirtySixMRollCorrel: BigDecimal? = null,
)


data class FundDepthResearchAttachQuarterlyValueInfo(
     var year: Int? = null,
     var quarter: Int? = null,

    val dataMonth: LocalDate,

     var alphaQuarterly: BigDecimal? = BigDecimal.ZERO,

     var betaQuarterly: BigDecimal? = BigDecimal.ZERO,

     var alphaLongQuarterly: BigDecimal? = BigDecimal.ZERO,

     var alphaShortQuarterly: BigDecimal? = BigDecimal.ZERO,

     var betaLongQuarterly: BigDecimal? = BigDecimal.ZERO,

     var betaShortQuarterly: BigDecimal? = BigDecimal.ZERO,
)


data class FundDepthResearchAttachAnnualValueInfo(
    val year: Int? = null,
    val dataMonth: LocalDate,

    val alphaAnnual: BigDecimal? = BigDecimal.ZERO,

    val betaAnnual: BigDecimal? = BigDecimal.ZERO,

    val alphaLongAnnual: BigDecimal? = BigDecimal.ZERO,

    val alphaShortAnnual: BigDecimal? = BigDecimal.ZERO,

    val betaLongAnnual: BigDecimal? = BigDecimal.ZERO,

    val betaShortAnnual: BigDecimal? = BigDecimal.ZERO,
)